home *** CD-ROM | disk | FTP | other *** search
/ STraTOS 1997 April & May / STraTOS 1 - 1997 April & May.iso / CD01 / INTERNET / SITES / GRAHAM / XA_6S.ZIP / SOURCE / OBJC_DRW.C < prev    next >
Encoding:
C/C++ Source or Header  |  1996-04-29  |  1.3 KB  |  62 lines

  1. /*
  2.  * XaAES - XaAES Ain't the AES
  3.  *
  4.  * A multitasking AES replacement for MiNT
  5.  *
  6.  */
  7.  
  8. #include "XA_DEFS.H"
  9. #include "XA_TYPES.H"
  10. #include "XA_GLOBL.H"
  11. #include "K_DEFS.H"
  12. #include "RECTLIST.H"
  13. #include "OBJECTS.H"
  14.  
  15. /*
  16.     Object Tree Handling Interface
  17. */
  18.  
  19. unsigned long XA_objc_draw(short clnt_pid, AESPB *pb)
  20. {
  21.     v_hide_c(V_handle);
  22.     set_clip(pb->intin[2], pb->intin[3], pb->intin[4], pb->intin[5]);
  23.     pb->intout[0]=draw_object_tree(pb->addrin[0],pb->intin[0],pb->intin[1]+1);
  24.     clear_clip();
  25.     v_show_c(V_handle,1);
  26.     
  27.     return XAC_DONE;
  28. }
  29.  
  30. unsigned long XA_objc_offset(short clnt_pid, AESPB *pb)
  31. {
  32.     pb->intout[0]=object_abs_coords(pb->addrin[0],pb->intin[0],pb->intout+1,pb->intout+2);
  33.     return XAC_DONE;
  34. }
  35.  
  36. unsigned long XA_objc_find(short clnt_pid, AESPB *pb)
  37. {
  38.     pb->intout[0]=find_object(pb->addrin[0],pb->intin[0], pb->intin[1], pb->intin[2], pb->intin[3]);
  39.  
  40.     return XAC_DONE;
  41. }
  42.  
  43. unsigned long XA_objc_change(short clnt_pid, AESPB *pb)
  44. {
  45.     OBJECT *root=(OBJECT*)pb->addrin[0];
  46.     
  47.     root[pb->intin[0]].ob_state=pb->intin[6];
  48.     
  49.     if (pb->intin[7])
  50.     {
  51.         v_hide_c(V_handle);
  52.         set_clip(pb->intin[2], pb->intin[3], pb->intin[4], pb->intin[5]);
  53.         draw_object_tree(root,pb->intin[0],pb->intin[1]+1);
  54.         clear_clip();
  55.         v_show_c(V_handle,1);
  56.     }
  57.     
  58.     pb->intout[0]=1;
  59.     
  60.     return XAC_DONE;
  61. }
  62.